package com.zhuoyue.system.mapper;

import com.zhuoyue.common.annotation.DataSource;
import com.zhuoyue.common.core.domain.ChartData;
import com.zhuoyue.system.domain.TblAppMessage;
import com.zhuoyue.system.domain.po.SelectTimePo;
import com.zhuoyue.system.domain.vo.TblAppMessageVo;

import java.util.List;

import static com.zhuoyue.common.enums.DataSourceType.SLAVE2;

/**
 * 消息Mapper接口
 *
 * @author zhanghui
 * @date 2021-08-25
 */

@DataSource(SLAVE2)
public interface TblAppMessageMapper {
    /**
     * 查询消息
     *
     * @param id 消息ID
     * @return 消息
     */
    TblAppMessage selectTblMessageById(String id);

    /**
     * 查询消息列表
     *
     * @param tblMessage 消息
     * @return 消息集合
     */
    List<TblAppMessageVo> selectTblMessageList(TblAppMessage tblMessage);

    /**
     * 查询一段时间内的账号消息数统计
     *
     * @param selectTimePo
     * @return
     */
    List<ChartData> getAccountMessageCountRangeTime(SelectTimePo selectTimePo);

    /**
     * 查询一段时间内的网关消息数统计
     *
     * @param selectTimePo
     * @return
     */
    List<ChartData> getGatewayMessageCountRangeTime(SelectTimePo selectTimePo);
}
